# @Time : 2020/7/18 17:28
# @Author : Fioman 
# @Phone : 13149920693
"""
在opencv中,使用函数cv2.resize(src,dsize,fx=None,fy=None,interpolation=None)
dsize表示缩放后的图像(w,h),fx表示缩放后水平方向上的比例,fy表示缩放后的垂直方向的比例
interpolation表示插值方式.默认是cv2.INTER_LINEAR(双线性插值)
关于缩放后的尺寸问题:
1> 可以通过dsize指定
2> 也可以通过dx和dy来表示.
如果指定了dsize的话,无论fx和fy设置多少,都会按照dsize指定的大小进行缩放.
如果dsize的值设置为None,那么目标图像的大小通过fx和fy来决定.
插值是指,因为图像都是离散的值,而一幅图像的大小变动的时候,对应的像素坐标对应的位置不一定是整型,这就导致了缩放后的图像离散的坐标,
在原图上找不到对应的像素位置.这个时候就要采用插值的方式来获取这个点的坐标.

图像缩放的经验:
1> 当缩小图像时,使用区域插值方式(INTER_AREA)能够得到最好的效果;
2> 当放大图像的时候,使用三次样条插值(INTER_CUBIC)方式和双线性插值(INTER_LINEAR)方式都能取得较好的效果.三次
"""
import cv2 as cv
import numpy as np

img = np.ones([2,4,4],dtype=np.uint8)
size = img.shape[:2]
rst = cv.resize(img,size)

print("img.shape = \n",img.shape)
print('img = \n',img)
print("rst.shape = \n",rst.shape)
print("rst=\n",rst)


















